import { defineConfig } from 'vite';
import { resolve } from 'path';
import vue from '@vitejs/plugin-vue';
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

// https://vitejs.dev/config/
export default defineConfig({
    base: './',
    plugins: [
        vue(),
        AutoImport({
            resolvers: [ElementPlusResolver()],
        }),
        Components({
            resolvers: [ElementPlusResolver()],
        }),
    ],
    resolve: {
        alias: {
            '@': resolve(__dirname, './src'),
        },
    },
    server: {
        // 是否开启 https
        https: false,
        // 启动服务端口
        port: 3000,
        // 监听所有地址
        host: '0.0.0.0',
        // 服务启动是是否自动打开浏览器
        open: true,
        // 是否允许跨域
        cors: true,
        // 自定义代理规则
        proxy: {}
    },
    build: {
        // 设置最终构建浏览器目标
        target: 'es2015',
        // 构建后是否生成 sourcemap 文件
        sourcemap: false,
        // chunks 大小警告的限制（单位 kbs）
        chunkSizeWarningLimit: 2000,
        // 启用|禁用 gzip 压缩大小报告
        reportCompressedSize: false,
    },
    css: {
        preprocessorOptions: {
            less: {
                javascriptEnabled: true,
                additionalData: `@import "${resolve(__dirname, 'src/style/variables.less')}";`
            }
        }
    }
    //   css: {
    //     preprocessorOptions: {
    //       less: {
    //         modifyVars: {
    //           hack: `true; @import (reference) "${resolve('src/style/variables.less')}";`,
    //         },
    //         math: 'strict',
    //         javascriptEnabled: true,
    //       },
    //     },
    //   },
});
